home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 43
/
Aminet 43 (2001)(GTI - Schatztruhe)[!][Jun 2001].iso
/
Aminet
/
demo
/
mag
/
hLA-AP15.lha
/
hLA-AP15
/
bonus
/
zdroj.lha
/
merge.asc
< prev
next >
Wrap
Text File
|
2000-05-01
|
1KB
|
71 lines
;Trideni metodou Merge
N=1000
Dim pole(N)
Dim pompole(N)
Statement Vypis{}
SHARED pole(),N
For i=0 To Int(N/10)-1
For j=1 To 10
Print pole(i*10+j)," "
Next j
NPrint ""
Next i
End Statement
Statement Merge{odkad,kam}
SHARED pompole(),pole()
pulka=Int((odkad+kam)/2)
If pulka>odkad Then Merge{odkad,pulka}
If pulka+1<kam Then Merge{pulka+1,kam}
i=odkad
j=pulka+1
a=1
While (j<=kam) OR (i<=pulka)
If i<=pulka
If j<=kam
If pole(i)<pole(j)
pompole(a)=pole(i)
i=i+1
a=a+1
Else
pompole(a)=pole(j)
j=j+1
a=a+1
End If
Else
pompole(a)=pole(i)
i=i+1
a=a+1
End If
Else
pompole(a)=pole(j)
j=j+1
a=a+1
End If
End While
a=1
For i=odkad To kam
pole(i)=pompole(a)
a=a+1
Next i
End Statement
For i=1 To N
pole(i)=Int(Rnd(32000))
Next i
NPrint "Nesetridene pole:"
Vypis{}
Merge{1,N}
NPrint "Setridne pole"
Vypis{}
MouseWait
End